USE [master]
GO
/****** Object:  Database [GENISIS_DB_DEV]    Script Date: 11/13/2017 11:06:22 AM ******/
CREATE DATABASE [GENISIS_DB_DEV]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'GENISIS_DB', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER2012\MSSQL\DATA\GENISIS_DB_DEV.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'GENISIS_DB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER2012\MSSQL\DATA\GENISIS_DB_DEV_log.ldf' , SIZE = 149696KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)
GO
ALTER DATABASE [GENISIS_DB_DEV] SET COMPATIBILITY_LEVEL = 110
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [GENISIS_DB_DEV].[dbo].[sp_fulltext_database] @action = 'enable'
end
GO
ALTER DATABASE [GENISIS_DB_DEV] SET ANSI_NULL_DEFAULT OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET ANSI_NULLS OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET ANSI_PADDING OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET ANSI_WARNINGS OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET ARITHABORT OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET AUTO_CLOSE OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET AUTO_CREATE_STATISTICS ON 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET AUTO_SHRINK OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET AUTO_UPDATE_STATISTICS ON 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET CURSOR_CLOSE_ON_COMMIT OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET CURSOR_DEFAULT  GLOBAL 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET CONCAT_NULL_YIELDS_NULL OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET NUMERIC_ROUNDABORT OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET QUOTED_IDENTIFIER OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET RECURSIVE_TRIGGERS OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET  DISABLE_BROKER 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET AUTO_UPDATE_STATISTICS_ASYNC OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET DATE_CORRELATION_OPTIMIZATION OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET TRUSTWORTHY OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET ALLOW_SNAPSHOT_ISOLATION OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET PARAMETERIZATION SIMPLE 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET READ_COMMITTED_SNAPSHOT OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET HONOR_BROKER_PRIORITY OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET RECOVERY FULL 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET  MULTI_USER 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET PAGE_VERIFY CHECKSUM  
GO
ALTER DATABASE [GENISIS_DB_DEV] SET DB_CHAINING OFF 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) 
GO
ALTER DATABASE [GENISIS_DB_DEV] SET TARGET_RECOVERY_TIME = 0 SECONDS 
GO
EXEC sys.sp_db_vardecimal_storage_format N'GENISIS_DB_DEV', N'ON'
GO
USE [GENISIS_DB_DEV]
GO
/****** Object:  User [genisis_test]    Script Date: 11/13/2017 11:06:22 AM ******/
CREATE USER [genisis_test] FOR LOGIN [genisis_test] WITH DEFAULT_SCHEMA=[dbo]
GO
/****** Object:  User [genisis]    Script Date: 11/13/2017 11:06:22 AM ******/
CREATE USER [genisis] FOR LOGIN [genisis] WITH DEFAULT_SCHEMA=[dbo]
GO
/****** Object:  User [data_ops]    Script Date: 11/13/2017 11:06:22 AM ******/
CREATE USER [data_ops] FOR LOGIN [data_ops] WITH DEFAULT_SCHEMA=[dbo]
GO
ALTER ROLE [db_datareader] ADD MEMBER [genisis_test]
GO
ALTER ROLE [db_owner] ADD MEMBER [genisis]
GO
ALTER ROLE [db_ddladmin] ADD MEMBER [genisis]
GO
ALTER ROLE [db_datareader] ADD MEMBER [genisis]
GO
ALTER ROLE [db_datawriter] ADD MEMBER [genisis]
GO
ALTER ROLE [db_datareader] ADD MEMBER [data_ops]
GO
ALTER ROLE [db_datawriter] ADD MEMBER [data_ops]
GO
/****** Object:  Schema [StudyMart1]    Script Date: 11/13/2017 11:06:22 AM ******/
CREATE SCHEMA [StudyMart1]
GO
/****** Object:  Schema [StudyMart2]    Script Date: 11/13/2017 11:06:22 AM ******/
CREATE SCHEMA [StudyMart2]
GO
USE [GENISIS_DB_DEV]
GO
/****** Object:  Sequence [dbo].[User_Id_Seq]    Script Date: 11/13/2017 11:06:22 AM ******/
CREATE SEQUENCE [dbo].[User_Id_Seq] 
 AS [int]
 START WITH 1
 INCREMENT BY 1
 MINVALUE 1
 MAXVALUE 500
 CYCLE 
 CACHE 
GO
/****** Object:  StoredProcedure [dbo].[Usp_Insert_Usermgt]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


CREATE PROC [dbo].[Usp_Insert_Usermgt]

(@User_id VARCHAR(320), 
@First_Name VARCHAR(50), 
@Middle_Name VARCHAR(50), 
@Last_Name VARCHAR(50), 
@user_approver_id varchar(320), 
@Role_Type_id int, 
@User_Type_id int
)
 as

SET NOCOUNT ON
SET XACT_ABORT ON

 BEGIN
BEGIN TRANSACTION
BEGIN TRY

        insert into dbo.Users
        (User_id,First_Name,Middle_Name,Last_Name,Create_Date,Email_id,User_Active,Active_date,Inactive_date) 
        values 
        (@User_id,@First_Name,@Middle_Name,@Last_Name,GETDATE(),@User_id,1,GETDATE(),null)


		DECLARE @id int
		SET @Id = (Select max(Id) from User_Role_Type)+1
             
   
INSERT [dbo].[User_Role_Type] ([Id], [Role_Type_id], [User_Type_id], [User_id], [Start_Date], [End_Date]) VALUES
 (@Id,@Role_Type_id,@User_Type_id,@User_id,GETDATE(),null)
    

	DECLARE @NEW_ID int
	SET @NEW_ID = (Select max(Id) from User_Approver)+1

  INSERT [dbo].[User_Approver] ([Id], [User_id], [User_Approver_id])
  VALUES(@NEW_ID,@User_id,@user_approver_id)

  COMMIT;

  SELECT 'USER CREATED SUCCESSFULLY' AS MESSAGE

 END TRY

BEGIN CATCH
			ROLLBACK;
			SELECT 'User not Created' AS MESSAGE
END CATCH

END
 


GO
/****** Object:  StoredProcedure [dbo].[usp_Users_info]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROC [dbo].[usp_Users_info]
AS
WITH email_CTE (user_id,user_Email_id,User_Approver_id,First_Name,Last_Name,Role_Name,Role_Description,User_Type_Desc)  
AS  
(  
select us.user_id, us.email_id as user_email_id, ua.User_Approver_id,us.First_Name, us.last_name,rt.Role_name, rt.Role_Description, ut.User_Type_desc
 from user_approver ua
   right outer join users us
  on ua.user_id = us.user_id
  join User_Role_Type AS ur
on us.User_id  = ur.User_id
join Role_Type rt
ON rt.Role_Type_id = ur.Role_Type_id
JOIN
User_Type as ut
ON
ut.User_Type_id = ur.User_Type_id
   
)



SELECT temp.user_id,temp.user_email_id,temp.First_Name, temp.Last_Name, temp.User_Approver_id, us.Email_id as user_approver_email_id, 
temp.Role_name, temp.Role_Description, temp.User_Type_desc
FROM email_CTE temp
left outer join users us
on temp.User_Approver_id = us.User_id
join User_Role_Type AS ur
on temp.User_id  = ur.User_id
join Role_Type rt
ON rt.Role_Type_id = ur.Role_Type_id
JOIN
User_Type as ut
ON
ut.User_Type_id = ur.User_Type_id
order by user_id
OPTION (HASH JOIN)


GO
/****** Object:  Table [dbo].[Attachment]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Attachment](
	[AttachmentId] [int] NOT NULL,
	[RequestId] [int] NOT NULL,
	[StatusId] [int] NOT NULL,
	[FileName] [varchar](128) NOT NULL,
	[FileType] [varchar](50) NOT NULL,
	[FileData] [varbinary](max) NOT NULL,
	[TaskId] [varchar](50) NULL,
	[ActionType] [varchar](50) NULL,
	[CreatedBy] [varchar](50) NOT NULL,
	[CreatedOn] [datetime] NULL,
 CONSTRAINT [PK_Attachment] PRIMARY KEY CLUSTERED 
(
	[AttachmentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[CommentHistory]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommentHistory](
	[CommentId] [int] NOT NULL,
	[RequestId] [int] NOT NULL,
	[StatusId] [int] NOT NULL,
	[Comments] [varchar](3000) NULL,
	[CreatedOn] [datetime] NULL,
	[CreatedBy] [varchar](50) NULL,
	[TYPE] [varchar](6) NULL,
	[TaskId] [varchar](50) NULL,
	[CommentTypeId] [int] NULL,
 CONSTRAINT [PK_CommentHistory] PRIMARY KEY CLUSTERED 
(
	[CommentId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[CommentType]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[CommentType](
	[Id] [int] NOT NULL,
	[Description] [varchar](250) NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[DataType]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[DataType](
	[Id] [int] NOT NULL,
	[Description] [varchar](50) NULL,
 CONSTRAINT [PK_DataType] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Field_ToolTip_Description]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Field_ToolTip_Description](
	[Id] [int] NOT NULL,
	[FieldName] [varchar](50) NOT NULL,
	[TextDescription] [varchar](4000) NOT NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Management_table]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Management_table](
	[ReqID] [int] NULL,
	[DatabaseName] [varchar](50) NULL,
	[CopyStatus] [varchar](25) NULL,
	[dateandtime] [datetime] NULL,
	[checksum_before_copy] [bigint] NULL,
	[checksum_after_copy] [bigint] NULL,
	[Source_Schema] [varchar](50) NULL,
	[Destination_Schema] [varchar](50) NULL,
	[Table_Name] [varchar](50) NULL,
	[rowcount_before_copy] [int] NULL,
	[rowcount_after_copy] [int] NULL,
	[status_before_copy] [varchar](20) NULL,
	[status_after_copy] [varchar](20) NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[RefreshHistory]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[RefreshHistory](
	[Id] [int] NOT NULL,
	[StartDate] [datetime] NOT NULL,
	[EndDate] [datetime] NULL,
	[ScheduledBy] [varchar](50) NOT NULL,
	[Status] [varchar](50) NOT NULL,
	[ErrorMessage] [varchar](500) NULL,
	[JobType] [varchar](50) NOT NULL,
 CONSTRAINT [PK_UserRefreshHistory] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Request]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Request](
	[Id] [int] NOT NULL,
	[ProcessId] [int] NOT NULL,
	[Title] [varchar](256) NULL,
	[Description] [varchar](3000) NULL,
	[StatusDescription] [varchar](50) NULL,
	[RequestTypeId] [int] NOT NULL,
	[SourceId] [int] NULL,
	[StudyApprovalId] [int] NOT NULL,
	[CreatedOn] [datetime] NULL,
	[ModifiedOn] [datetime] NULL,
	[CreatedBy] [varchar](50) NULL,
	[ModifiedBy] [varchar](50) NULL,
	[ApproverId] [varchar](50) NULL,
	[TaskId] [varchar](50) NULL,
	[DataTypeId] [int] NULL,
 CONSTRAINT [PK_Request] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[RequestHistory]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[RequestHistory](
	[HistLineNo] [int] NOT NULL,
	[Id] [int] NOT NULL,
	[ProcessId] [int] NOT NULL,
	[Title] [varchar](256) NULL,
	[Description] [varchar](3000) NULL,
	[StatusDescription] [varchar](50) NULL,
	[RequestTypeId] [int] NOT NULL,
	[SourceId] [int] NULL,
	[StudyApprovalId] [int] NOT NULL,
	[CreatedOn] [datetime] NULL,
	[ModifiedOn] [datetime] NULL,
	[CreatedBy] [varchar](50) NULL,
	[ModifiedBy] [varchar](50) NULL,
	[ApproverId] [varchar](50) NULL,
	[TaskId] [varchar](50) NULL,
	[DataTypeId] [int] NULL,
 CONSTRAINT [PK_RequestHistory] PRIMARY KEY CLUSTERED 
(
	[HistLineNo] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[RequestType]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[RequestType](
	[Id] [int] NOT NULL,
	[Description] [varchar](50) NULL,
PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Role_Type]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Role_Type](
	[Role_Type_id] [int] NOT NULL,
	[Role_Name] [varchar](50) NOT NULL,
	[Role_Description] [varchar](50) NOT NULL,
 CONSTRAINT [Role_Type_pk] PRIMARY KEY CLUSTERED 
(
	[Role_Type_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Source]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Source](
	[Id] [int] NOT NULL,
	[Description] [varchar](50) NULL,
 CONSTRAINT [PK_Source] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[StudyApproval]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[StudyApproval](
	[Id] [int] NOT NULL,
	[ProcessId] [int] NOT NULL,
	[ApprovalIdObtained] [varchar](3000) NULL,
	[AssociatedStudyApproval1] [int] NULL,
	[AssociatedStudyApproval2] [int] NULL,
	[AssociatedStudyApproval3] [int] NULL,
	[Title] [varchar](50) NULL,
	[Description] [varchar](3000) NULL,
	[CreatedOn] [datetime] NULL,
	[ModifiedOn] [datetime] NULL,
	[CreatedBy] [varchar](50) NULL,
	[ModifiedBy] [varchar](50) NULL,
	[Active] [tinyint] NOT NULL,
	[Active_date] [datetime] NOT NULL,
	[Inactive_date] [datetime] NULL,
 CONSTRAINT [PK_StudyApproval] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[User_Approver]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[User_Approver](
	[Id] [int] NOT NULL,
	[User_id] [int] NOT NULL,
	[User_Approver_id] [int] NOT NULL,
 CONSTRAINT [User_Approver_pk] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object:  Table [dbo].[User_Role_Type]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[User_Role_Type](
	[Id] [int] NOT NULL,
	[Role_Type_id] [int] NOT NULL,
	[User_Type_id] [int] NOT NULL,
	[User_id] [int] NOT NULL,
	[Start_Date] [datetime] NOT NULL,
	[End_Date] [datetime] NULL,
 CONSTRAINT [User_Role_Type_pk] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
/****** Object:  Table [dbo].[User_Type]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[User_Type](
	[User_Type_id] [int] NOT NULL,
	[User_Type_desc] [varchar](50) NOT NULL,
 CONSTRAINT [User_Type_pk] PRIMARY KEY CLUSTERED 
(
	[User_Type_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[UserManagementDashboard]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[UserManagementDashboard](
	[Id] [int] NOT NULL,
	[Description] [varchar](50) NOT NULL,
 CONSTRAINT [PK__UserMgt] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[Users]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Users](
	[User_id] [int] NOT NULL,
	[First_Name] [varchar](50) NOT NULL,
	[Middle_Name] [varchar](50) NULL,
	[Last_Name] [varchar](50) NOT NULL,
	[Last_Name2] [varchar](50) NULL,
	[Create_Date] [datetime] NOT NULL,
	[Email_id] [varchar](320) NOT NULL,
	[User_Active] [tinyint] NOT NULL,
	[Active_date] [datetime] NOT NULL,
	[Inactive_date] [datetime] NULL,
	[user_name] [varchar](250) NOT NULL,
	[ModifiedOn] [datetime] NULL,
 CONSTRAINT [User_pk] PRIMARY KEY CLUSTERED 
(
	[User_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
 CONSTRAINT [UC_Email_id] UNIQUE NONCLUSTERED 
(
	[Email_id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY],
 CONSTRAINT [unique_user] UNIQUE NONCLUSTERED 
(
	[user_name] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
/****** Object:  Table [dbo].[WorkflowStatus]    Script Date: 11/13/2017 11:06:22 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[WorkflowStatus](
	[Id] [int] NOT NULL,
	[Description] [varchar](50) NULL,
 CONSTRAINT [PK_WorkflowStatus] PRIMARY KEY CLUSTERED 
(
	[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF
GO
SET ANSI_PADDING ON

GO
/****** Object:  Index [IDX_fieldname]    Script Date: 11/13/2017 11:06:22 AM ******/
CREATE UNIQUE NONCLUSTERED INDEX [IDX_fieldname] ON [dbo].[Field_ToolTip_Description]
(
	[FieldName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Attachment]  WITH CHECK ADD  CONSTRAINT [FK_Attachment_Attachment] FOREIGN KEY([StatusId])
REFERENCES [dbo].[WorkflowStatus] ([Id])
GO
ALTER TABLE [dbo].[Attachment] CHECK CONSTRAINT [FK_Attachment_Attachment]
GO
ALTER TABLE [dbo].[Attachment]  WITH CHECK ADD  CONSTRAINT [FK_Attachment_Request] FOREIGN KEY([RequestId])
REFERENCES [dbo].[Request] ([Id])
GO
ALTER TABLE [dbo].[Attachment] CHECK CONSTRAINT [FK_Attachment_Request]
GO
ALTER TABLE [dbo].[CommentHistory]  WITH CHECK ADD  CONSTRAINT [FK_CommentHistory_CommentType] FOREIGN KEY([CommentTypeId])
REFERENCES [dbo].[CommentType] ([Id])
GO
ALTER TABLE [dbo].[CommentHistory] CHECK CONSTRAINT [FK_CommentHistory_CommentType]
GO
ALTER TABLE [dbo].[CommentHistory]  WITH CHECK ADD  CONSTRAINT [FK_CommentHistory_Request] FOREIGN KEY([RequestId])
REFERENCES [dbo].[Request] ([Id])
GO
ALTER TABLE [dbo].[CommentHistory] CHECK CONSTRAINT [FK_CommentHistory_Request]
GO
ALTER TABLE [dbo].[CommentHistory]  WITH CHECK ADD  CONSTRAINT [FK_CommentHistory_WorkflowStatus] FOREIGN KEY([StatusId])
REFERENCES [dbo].[WorkflowStatus] ([Id])
GO
ALTER TABLE [dbo].[CommentHistory] CHECK CONSTRAINT [FK_CommentHistory_WorkflowStatus]
GO
ALTER TABLE [dbo].[Request]  WITH CHECK ADD  CONSTRAINT [Fk_datatypeId] FOREIGN KEY([DataTypeId])
REFERENCES [dbo].[DataType] ([Id])
GO
ALTER TABLE [dbo].[Request] CHECK CONSTRAINT [Fk_datatypeId]
GO
ALTER TABLE [dbo].[Request]  WITH CHECK ADD  CONSTRAINT [Fk_RqId] FOREIGN KEY([RequestTypeId])
REFERENCES [dbo].[RequestType] ([Id])
GO
ALTER TABLE [dbo].[Request] CHECK CONSTRAINT [Fk_RqId]
GO
ALTER TABLE [dbo].[Request]  WITH CHECK ADD  CONSTRAINT [FK_sourceid] FOREIGN KEY([SourceId])
REFERENCES [dbo].[Source] ([Id])
GO
ALTER TABLE [dbo].[Request] CHECK CONSTRAINT [FK_sourceid]
GO
ALTER TABLE [dbo].[Request]  WITH CHECK ADD  CONSTRAINT [StudyApproval_id] FOREIGN KEY([StudyApprovalId])
REFERENCES [dbo].[StudyApproval] ([Id])
GO
ALTER TABLE [dbo].[Request] CHECK CONSTRAINT [StudyApproval_id]
GO
ALTER TABLE [dbo].[RequestHistory]  WITH CHECK ADD  CONSTRAINT [FK_RequestHistory_Request] FOREIGN KEY([Id])
REFERENCES [dbo].[Request] ([Id])
GO
ALTER TABLE [dbo].[RequestHistory] CHECK CONSTRAINT [FK_RequestHistory_Request]
GO
ALTER TABLE [dbo].[User_Approver]  WITH CHECK ADD  CONSTRAINT [User_Approver_User] FOREIGN KEY([User_Approver_id])
REFERENCES [dbo].[Users] ([User_id])
GO
ALTER TABLE [dbo].[User_Approver] CHECK CONSTRAINT [User_Approver_User]
GO
ALTER TABLE [dbo].[User_Approver]  WITH CHECK ADD  CONSTRAINT [User_Approver_User_id] FOREIGN KEY([User_id])
REFERENCES [dbo].[Users] ([User_id])
GO
ALTER TABLE [dbo].[User_Approver] CHECK CONSTRAINT [User_Approver_User_id]
GO
ALTER TABLE [dbo].[User_Role_Type]  WITH CHECK ADD  CONSTRAINT [FK_Type_User] FOREIGN KEY([User_id])
REFERENCES [dbo].[Users] ([User_id])
GO
ALTER TABLE [dbo].[User_Role_Type] CHECK CONSTRAINT [FK_Type_User]
GO
ALTER TABLE [dbo].[User_Role_Type]  WITH CHECK ADD  CONSTRAINT [FK_User_typeID] FOREIGN KEY([User_Type_id])
REFERENCES [dbo].[User_Type] ([User_Type_id])
GO
ALTER TABLE [dbo].[User_Role_Type] CHECK CONSTRAINT [FK_User_typeID]
GO
ALTER TABLE [dbo].[User_Role_Type]  WITH CHECK ADD  CONSTRAINT [User_Role_Type_Role_Type] FOREIGN KEY([Role_Type_id])
REFERENCES [dbo].[Role_Type] ([Role_Type_id])
GO
ALTER TABLE [dbo].[User_Role_Type] CHECK CONSTRAINT [User_Role_Type_Role_Type]
GO
USE [master]
GO
ALTER DATABASE [GENISIS_DB_DEV] SET  READ_WRITE 
GO
